home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / daten / twistdemo / music / readdisc.rexx < prev    next >
OS/2 REXX Batch file  |  1995-01-20  |  5KB  |  141 lines

  1. /* $VER: 1.2 © 1994 by Frank Würkner. Play first 10 secs of all songs.     */
  2.  
  3. SIGNAL ON SYNTAX                            /* check syntax                */
  4. SIGNAL ON ERROR                             /* check if command succeeds   */
  5. OPTIONS FAILAT 6                            /* ignore warnings             */
  6. ADDRESS YACDP                             /* send to YACDP               */
  7.  
  8. /* -------------------------- BEGIN OF YOUR CODE ------------------------- */
  9.  
  10. 'GETVAR SONGNAME'
  11. 'GETVAR CDNAME'
  12. 'GETVAR VENDORID'
  13. 'GETVAR MAXTRACK'
  14. 'GETVAR VENDOR'
  15. 'UNLOCKVARS'
  16.  
  17. if (STATUS > 2) then                            /* quit if no audio CD     */
  18. do i = 1 to MAXTRACK by 1
  19. 'GETVAR TRACKLEN MODE=2 NUM='i
  20. if i=1 then do 
  21. Tracks.TrackPos = i
  22. Tracks.TrackLength = substr(TRACKLEN,4,5)
  23. end
  24. if i = 2 then do
  25. Tracks_2.TrackPos = i
  26. tracks_2.TrackLength = substr(TRACKLEN,4,5)
  27. end
  28. if i = 3 then do
  29. Tracks_3.TrackPos = i
  30. tracks_3.TrackLength = substr(TRACKLEN,4,5)
  31. end
  32. if i = 4 then do
  33. Tracks_4.TrackPos = i
  34. tracks_4.TrackLength = substr(TRACKLEN,4,5)
  35. end
  36. if i = 5 then do
  37. Tracks_5.TrackPos = i
  38. tracks_5.TrackLength = substr(TRACKLEN,4,5)
  39. end
  40. if i = 6 then do
  41. Tracks_6.TrackPos = i
  42. tracks_6.TrackLength = substr(TRACKLEN,4,5)
  43. end
  44. if i = 7 then do
  45. Tracks_7.TrackPos = i
  46. tracks_7.TrackLength = substr(TRACKLEN,4,5)
  47. end
  48. if i = 8 then do
  49. Tracks_8.TrackPos = i
  50. tracks_8.TrackLength = substr(TRACKLEN,4,5)
  51. end
  52. if i = 9 then do
  53. Tracks_9.TrackPos = i
  54. tracks_9.TrackLength = substr(TRACKLEN,4,5)
  55. end
  56. if i = 10 then do
  57. Tracks_10.TrackPos = i
  58. tracks_10.TrackLength = substr(TRACKLEN,4,5)
  59. end
  60. if i = 11 then do
  61. Tracks_11.TrackPos = i
  62. tracks_11.TrackLength = substr(TRACKLEN,4,5)
  63. end
  64. if i = 12 then do
  65. Tracks_12.TrackPos = i
  66. tracks_12.TrackLength = substr(TRACKLEN,4,5)
  67. end
  68. end
  69.  
  70. 'STOP'
  71.  
  72. /* --------------------------- END OF YOUR CODE -------------------------- */
  73.  
  74. ADDRESS TWIST
  75. PARSE ARG dbfilename,rela_x,rela_y,shiftkeys
  76. OPEN dbfilename
  77. options results
  78. GETDBFORMMODE
  79.  
  80. CDIDENT = tracks.tracklength || tracks.TrackPos || tracks_2.TrackLength || tracks_2.TrackPos || tracks_3.TrackLength || tracks_3.TrackPos || tracks_4.TrackLength || tracks_4.TrackPos || tracks_5.TrackLength || tracks_5.TrackPos || tracks_6.TrackLength || tracks_6.TrackPos || tracks_7.TrackLength || tracks_7.TrackPos || tracks_8.TrackLength || tracks_8.TrackPos || tracks_9.TrackLength || tracks_9.TrackPos || tracks_10.TrackLength || tracks_10.TrackPos || tracks_11.TrackLength || tracks_11.TrackPos || tracks_12.TrackLength || tracks_12.TrackPos
  81. SETDBFORMFIELD 'CDID' CDIDENT
  82.  
  83. SETDBFORMFIELD 'tracks.TrackPos'     tracks.TrackPos
  84. SETDBFORMFIELD 'tracks_2.TrackPos'   tracks_2.TrackPos
  85. SETDBFORMFIELD 'tracks_3.TrackPos'   tracks_3.TrackPos
  86. SETDBFORMFIELD 'tracks_4.TrackPos'   tracks_4.TrackPos
  87. SETDBFORMFIELD 'tracks_5.TrackPos'   tracks_5.TrackPos
  88. SETDBFORMFIELD 'tracks_6.TrackPos'   tracks_6.TrackPos
  89. SETDBFORMFIELD 'tracks_7.TrackPos'   tracks_7.TrackPos
  90. SETDBFORMFIELD 'tracks_8.TrackPos'   tracks_8.TrackPos
  91. SETDBFORMFIELD 'tracks_9.TrackPos'  tracks_9.TrackPos
  92. SETDBFORMFIELD 'tracks_10.TrackPos'  tracks_10.TrackPos
  93. SETDBFORMFIELD 'tracks_11.TrackPos'  tracks_11.TrackPos
  94. SETDBFORMFIELD 'tracks_12.TrackPos'  tracks_12.TrackPos
  95.  
  96. SETDBFORMFIELD 'tracks.tracklength'     tracks.tracklength
  97. SETDBFORMFIELD 'tracks_2.TrackLength'   tracks_2.TrackLength
  98. SETDBFORMFIELD 'tracks_3.TrackLength'   tracks_3.TrackLength
  99. SETDBFORMFIELD 'tracks_4.TrackLength'   tracks_4.TrackLength
  100. SETDBFORMFIELD 'tracks_5.TrackLength'   tracks_5.TrackLength
  101. SETDBFORMFIELD 'tracks_6.TrackLength'   tracks_6.TrackLength
  102. SETDBFORMFIELD 'tracks_7.TrackLength'   tracks_7.TrackLength
  103. SETDBFORMFIELD 'tracks_8.TrackLength'   tracks_8.TrackLength
  104. SETDBFORMFIELD 'tracks_9.TrackLength'  tracks_9.TrackLength
  105. SETDBFORMFIELD 'tracks_10.TrackLength'  tracks_10.TrackLength
  106. SETDBFORMFIELD 'tracks_11.TrackLength'  tracks_11.TrackLength
  107. SETDBFORMFIELD 'tracks_12.TrackLength'  tracks_12.TrackLength
  108.  
  109. if results != "EDIT" then EXIT
  110.  
  111. tottime = 0
  112. do i=1 to 12 by 1
  113.     if i=1 then fieldname = "Tracks.TrackLength"
  114.     else fieldname = "tracks_" || i || ".TrackLength"
  115.     GETDBFORMFIELD fieldname
  116.     timestr = result
  117.     if timestr ~= "" then tottime = tottime + substr(timestr, 1, 2)*60 + substr(timestr,4,2)
  118. end
  119.  
  120. minutes = tottime%60;
  121. secs = tottime // 60
  122. if minutes >= 10 then timestr = minutes
  123. else timestr = "0" || minutes
  124. if secs >= 10 then timestr = timestr || ":" || secs
  125. else timestr = timestr || ":0" || secs 
  126.  
  127. SETDBFORMFIELD "TotalTime" timestr
  128.  
  129.  
  130. /* --------------------------- END OF YOUR CODE -------------------------- */
  131. EXIT
  132.  
  133. SYNTAX:
  134. SAY "AREXX error at line" SIGL ":" ERRORTEXT(RC)
  135. EXIT
  136.  
  137. ERROR:
  138. SAY "YACDP error at line" SIGL ":" ERR
  139. EXIT
  140.  
  141.